A software project, such as Android operating system and other large software projects, usually has a huge number of code files, so the software version management system has become an essential code management tool in the development procedure of a software project. Especially, when a GTI distributed version management system is used for effective and high speed management of software projects scaling from very small to very large, its processing is fast and flexible, suitable for distributed development, and it can easily resolve any conflicts between any random two developers.
A software project typically includes a plurality of software development tasks. These software development tasks are used to achieve different functions, such as customer demands or software defects. In a software version management system, the entire program code of a software project may be separated into hundreds or even thousands of code modules and stored in different code repositories. The program codes corresponding to different software development tasks may be stored in different code repositories, while the program code corresponding to each software development task may also be divided into a plurality of parts and scattered in different code repositories.
In different software projects, there may be one or more same software development tasks. During the development of software projects, if the software development tasks completed in other software projects can be reused, there is no need to re-edit the codes of these software development tasks, greatly improving the efficiency of software project development. However, in the process of software project development, the program code for a software development task may involve multiple program code changes in one or more code repositories, resulting in multiple code submission records in the software version management system. There are only sequential relationships among these code submissions, and there are no task level relationships among them, so tracking the completion process of a complex software development task may be complicated. When it is needed to reuse the software development task, developers need to, according to the instructions provided by the software version management system, find the codes related to the software development task at each code repository, or consult all the relevant information about the software development task according to the code submission information provided by the software version management system. This makes the developers to spend a lot of time and efforts to find the corresponding program code, and is not favorable to the effective reuse of the codes of software development tasks, greatly decreasing the development efficiency of software projects.